package com.xianggu.spring.aop.config;

import com.xianggu.spring.aop.enums.AdviceType;

import java.lang.reflect.Method;
import java.util.List;

/**
 * AOP 配置参数
 * @author chengjy
 * @date 2025/3/10
 */
public class AdviceParam {
    // 目标对象
    private Object object;
    // 目标方法
    private Method method;
    // 目标方法参数
    private Object[] args;
    // 切面行为
    private AdviceType adviceType;

    private List<String> noProxyMethods;

    public AdviceParam(Object object, Method method, Object[] args, AdviceType adviceType) {
        this.object = object;
        this.method = method;
        this.args = args;
        this.adviceType = adviceType;
    }

    public Object getObject() {
        return object;
    }

    public Method getMethod() {
        return method;
    }

    public Object[] getArgs() {
        return args;
    }

    public AdviceType getAdviceType() {
        return adviceType;
    }
}
